/**java configuration加载:可以解决没有源码的第三方类的注册
 * 除Abstract和Parent属性外其它均可以通过相关注解来实现与XML同样的功能
 */
package com.example.demospringbootbean;

import org.springframework.context.annotation.*;

@Configuration
@ComponentScan  //主要可配置参数：value、basePackages、includeFilters、excludeFilters、lazyInit
@PropertySource(value = "classpath:application.yml")
@ImportResource("/WEB-INF/applicationContext.xml")    //引入xml配置文件
@Import(ClassConfiguration.class)                     //引入另一个java config文件
@Profile("dev")
public class BeanConfiguration {
    @Bean   //常用属性：name、initMethod、destroyMethod、autowireCandidate，
    @Lazy
    @Scope("prototype")
    @DependsOn(value = "BeanB")
    @Primary
    public BeanC beanC(){
        BeanC beanc = new BeanC();
        beanc.setMessage("Define  by Java Configuration");
        return beanc;
    }
}
